// pages/search/search.js
import { userlike } from '../../request/api_type'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    placehoder: "请输入搜索内容",
    searchList: [],
    search: false,
    searchHistory: [],
    inputValue: ""
  },
  /* 请求传入数据的格式 */
  listForm: {
    page: 1,
    pageSize: 10,
    cid: "",
    search: "",
    is_best: "",
    is_hot: "",
    is_new: "",
    sort: ""
  },
  /* 延时器 */
  timeout: {},
  /* 输入框输入事件 */
  bindInput(e) {
    const { value } = e.detail
    clearTimeout(this.timeout)
    if (value.length !== 0) {
      this.timeout = setTimeout(() => {
        console.log("发送请求")
        this.getSearchList(value)
      }, 1000)
    } else {
      this.setData({
        search: false,
      })
    }
    this.setData({
      inputValue: value
    })
  },
  /* 请求发起事件 */
  getSearchList(value) {
    this.listForm.search = value
    userlike(this.listForm).then(res => {
      const { result } = res.data
      this.setData({
        searchList: result,
        search: true//搜索内容与热搜切换
      })
    })
  },
  /* 搜索按钮点击事件 */
  searchTap(e) {
    if (this.data.searchList.length === 0) {
      wx.showToast({
        title: "没有该数据哦~",
        icon: "none"
      })
      return;
    }
    const value = this.data.inputValue
    /* 保存搜索历史 */
    const searchHistory = this.data.searchHistory
    const index = searchHistory.findIndex(ele => ele === value)
    if (index === -1) {
      searchHistory.unshift(value)
    } else {
      searchHistory.splice(index, 1)
      searchHistory.unshift(value)
    }
    /* 控制搜索历史只有6条 */
    var historylist = [];
    searchHistory.forEach((ele, index) => {
      if (index < 6) {
        historylist.push(ele)
      }
    })
    console.log(value, historylist)
    wx.setStorageSync("searchHistory", historylist)
    wx.navigateTo({
      url: "/pages/list/list?id=" + JSON.stringify(this.data.searchList)
    })
    this.setData({
      searchHistory: historylist,
      inputValue: "",
      search: false
    })
  },
  /* 单个商品点击 查看商品详情 */
  searchDetail(e) {
    const { id } = e.currentTarget.dataset
    wx.navigateTo({
      url: "/pages/detail/detail?id=" + id
    })
  },
  /* 点击历史记录发出请求 */
  historyQuest(e) {
    const { index } = e.currentTarget.dataset;
    var inputValue = this.data.searchHistory[index];
    this.setData({
      inputValue
    })
    /* 调用input事件 并模拟input事件接收的事件对象 */
    this.bindInput({ detail: { value: inputValue } })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    const searchHistory = wx.getStorageSync("searchHistory") || [];
    this.setData({
      searchHistory
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})